package foo.bar.helloworld;
import java.io.File;
import java.io.IOException;

import javax.xml.parsers.ParserConfigurationException;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;

import org.xml.sax.SAXException;

public class Hello {
	/**
	 * @param args
	 * @throws SAXException 
	 * @throws ParserConfigurationException 
	 * @throws IOException 
	 */
	public static void main(String[] args) {
		System.out.print("Think twice before commit something\n");
		Tratata tratata = new Tratata(5, 90);
		tratata.showXY();
		
		System.out.println("***********************************************");
		
		/*
		 * Простий парсинг коментарі добавлю чуть пізніше
		 */
		SAXParserFactory factory = SAXParserFactory.newInstance();
		SAXParser parser;
		try {
			parser = factory.newSAXParser();
			MainSAXParser mainSAXParser = new MainSAXParser();
			parser.parse(new File("src/xml/people.xml"), mainSAXParser);
		
			/**
			 * Виборка пар атрибутів name-value з XML документа
			 */
			/**
			 * Створення обробника SAX-подій
			 */
			DictionaryParser dParser = new DictionaryParser();
			/**
			 * Перетворення і пасинг документа
			 */
			dParser.parse("src/xml/build.xml");
			/**
			 * Виведення "словника"
			 */
			DictionaryParser.Term terms[] = dParser.getTerms();
			for (int i = 0; i < terms.length; i++) {
				if (terms[i].getPosition() < 1) {
					System.out.print("> unknown");
				} else {
					System.out.print("> " + terms[i].getPosition());
				}
				System.out.print(" " + terms[i].getName());
				if (terms[i].getValue() != null) {
					System.out.println(" = " + terms[i].getValue());
				} else {
					System.out.println();
				}
			}
		} catch (Exception e) {
			System.out.println("Something is wrong");
			e.printStackTrace();
		}
		
	}
}
